home *** CD-ROM | disk | FTP | other *** search
- /*
- * This file is subject to the terms and conditions of the GNU General Public
- * License. See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 1996 by Ralf Baechle
- *
- * Definitions commonly used in SGI style code.
- */
- #ifndef __ASM_SGIDEFS_H
- #define __ASM_SGIDEFS_H
-
- /*
- * There are compilers out there that don't define _MIPS_ISA, _MIPS_SIM,
- * _MIPS_SZINT, _MIPS_SZLONG, _MIPS_SZPTR. So we notify the user about this
- * problem. The kernel sources are aware of this problem, so we don't warn
- * when compiling the kernel.
- */
- #if !defined(_MIPS_ISA) && !defined(__KERNEL__)
- #warning "Macro _MIPS_ISA has not been defined by specs file"
- #endif
-
- #if !defined(_MIPS_SIM) && !defined(__KERNEL__)
- #warning "Macro _MIPS_SIM has not been defined by specs file"
- #endif
-
- #if !defined(_MIPS_SZINT) && !defined(__KERNEL__)
- #warning "Macro _MIPS_SZINT has not been defined by specs file"
- #endif
-
- #if !defined(_MIPS_SZLONG) && !defined(__KERNEL__)
- #warning "Macro _MIPS_SZLONG has not been defined by specs file"
- #endif
-
- #if !defined(_MIPS_SZPTR) && !defined(__KERNEL__)
- #warning "Macro _MIPS_SZPTR has not been defined by specs file"
- #endif
-
- #if (!defined(_MIPS_ISA) || \
- !defined(_MIPS_SIM) || \
- !defined(_MIPS_SZINT) || \
- !defined(_MIPS_SZLONG) || \
- !defined(_MIPS_SZPTR)) && !defined(__KERNEL__)
- #warning "Please update your GCC to GCC 2.7.2-4 or newer"
- #endif
-
- /*
- * Now let's try our best to supply some reasonable default values for
- * whatever defines GCC didn't supply. This cannot be done correct for
- * all possible combinations of options, so be careful with your options
- * to GCC. Best bet is to keep your fingers off the a.out GCC and use
- * ELF GCC 2.7.2-3 where possible.
- */
- #ifndef _MIPS_ISA
- #if __mips == 1
- #define _MIPS_ISA _MIPS_ISA_MIPS1
- /* It is impossible to handle the -mips2 case correct. */
- #elif __mips == 3
- #define _MIPS_ISA _MIPS_ISA_MIPS3
- #elif __mips == 4
- #define _MIPS_ISA _MIPS_ISA_MIPS4
- #else /* __mips must be 5 */
- #define _MIPS_ISA _MIPS_ISA_MIPS5
- #endif
- #endif
- #ifndef _MIPS_SIM
- #define _MIPS_SIM _MIPS_SIM_ABI32
- #endif
- #ifndef _MIPS_SZINT
- #define _MIPS_SZINT 32
- #endif
- #ifndef _MIPS_SZLONG
- #define _MIPS_SZLONG 32
- #endif
- #ifndef _MIPS_SZPTR
- #define _MIPS_SZPTR 32
- #endif
-
- /*
- * Definitions for the ISA level
- */
- #define _MIPS_ISA_MIPS1 1
- #define _MIPS_ISA_MIPS2 2
- #define _MIPS_ISA_MIPS3 3
- #define _MIPS_ISA_MIPS4 4
- #define _MIPS_ISA_MIPS5 5
-
- /*
- * Subprogram calling convention
- *
- * At the moment only _MIPS_SIM_ABI32 is in use. This will change rsn.
- * Until GCC 2.8.0 is released don't rely on this definitions because the
- * 64bit code is essentially using the 32bit interface model just with
- * 64bit registers.
- */
- #define _MIPS_SIM_ABI32 1
- #define _MIPS_SIM_NABI32 2
- #define _MIPS_SIM_ABI64 3
-
- #endif /* __ASM_SGIDEFS_H */
-